In conventional OLAP systems, raw data is stored in database tables. This data is accessed by a data abstraction layer to unify different types of persistency models to one common interface. Layers above the data abstraction layer include an OLAP calculation engine and one or more client access layers. A complex result set computed by the OLAP engine may be subsequently copied and transformed from layer to layer. In layers above the OLAP engine, there is typically no semantic advantage to multi-layer transformations, but this is done because every layer has its own proprietary way of defining a structure of the result set.
Unfortunately, the repeated copying of the data itself occupies computer memory multiple times and the repeated transforming of the data is substantially time consuming and usually dominates the query execution time. As such, there exists a need to improve the process by which multidimensional data is accessed and processed.